package com.xqiapp.xframe.plugin.codes.scan.impl;

import java.util.List;

import com.xqiapp.xframe.plugin.codes.scan.ClassScanner;
import com.xqiapp.xframe.plugin.codes.support.ClassTemplate;

/**
 * 获取测试类以下的接口 或者 类
 * 
 * @author mike
 * @date 2016年7月13日
 * @version 0.0.1
 */
public class TestInterfaceScanner implements ClassScanner {

	public List<Class<?>> getInterfaceList(String pkg) {
		return new ClassTemplate(pkg) {
			@Override
			public boolean checkAddClass(Class<?> cls) {
				String className = cls.getName();
				String _pkg = className.substring(0, className.lastIndexOf("."));
				return (_pkg.startsWith(pkg) && cls.isInterface());
			}
		}.getClassList();
	}

	public List<Class<?>> getClassList(String pkg) {
		return new ClassTemplate(pkg) {
			@Override
			public boolean checkAddClass(Class<?> cls) {
				String className = cls.getName();
				String _pkg = className.substring(0, className.lastIndexOf("."));
				return _pkg.startsWith(pkg);
			}
		}.getClassList();
	}

}
